Compactando / descompactando arquivos simultaneamente [Melhorado]
Publicado por Sandro Marcell 18/07/2007
[ Hits: 6.478 ]
Homepage: http://sanmarcell.wordpress.com
Este script compacta/descompacta arquivos simultaneamente, sem necessidade de parâmetros extras.
Ex.: nome_script arq.txt arq.pdf arq.gz arq.tar.gz
Os arquivos arq.txt e arq.pdf serão compactados; já os arquivs arq.gz e arq.tar.gz serão descompactados.
Está é a versão Shell Bash de um script Tcl que postei aqui no VOL.
Falou!!!
#!/bin/bash # # Compacte/descompacte arquivos simultaneamente. # (Versão Shell Bash) # # Autor: Sandro Marcell (sandro_marcell@yahoo.com.br) # # Uso: nome_script arquivo1 [arquivoN] # # Obs.: # É possível o uso do metacaractere (*) # São necessários os programas: tar, gzip e bzip2 # Realçando saída do comando 'echo': Echo () { echo -e "\e[1m$*\e[m" ; } # Checando parâmetros: [ -z $BASH_ARGC ] && Echo "Uso: $(basename $0) arquivo1 [arquivoN]" && exit # Simples avisos: Aguarde () { Echo "Descompactando..." ; sleep 1 ; } Aguarde2 () { Echo "Compactando..." ; sleep 1 ; } # Arquivo de log: LOG=/tmp/$(basename $0)-$USER.log # Função que testa código de retorno: Testando () { [ $? == 0 ] && Echo "Arquivo descompactado!" \ || Echo "-> Erro! Mais detalhes em $LOG" } # Início do loop: for A ; do # Testes condicionais: [ ! -e $A ] && Echo "-> Arquivo não encontrado." && continue [ ! -O $A ] && Echo "-> Acesso negado." && continue # Compactar ou descompactar? case $A in # Descompactando... *.tar.gz | *.tgz) Aguarde tar -zxf $A 2>> $LOG Testando $? ;; *.gz) Aguarde gunzip $A 2>> $LOG Testando $? ;; *.tar.bz2 | *.tbz) Aguarde tar -jxf $A 2>> $LOG Testando $? ;; *.bz2) Aguarde bunzip2 $A 2>> $LOG Testando $? ;; *) # Compactando... [ -d $A ] && { Aguarde2 tar -czf $A.tar.gz $A 2>> $LOG [ $? == 0 ] && Echo "Diretório compactado!" \ || Echo "-> Erro! Mais detalhes em $LOG" } || { Aguarde2 gzip -f9 $A 2>> $LOG [ $? == 0 ] && Echo "Arquivo compactado!" \ || Echo "-> Erro! Mais detalhes em $LOG" } ;; esac done #Fim
Script para conversão de videos em lote
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
driver do repositorio debian nao atende o requisito minimo [RESOLVIDO]... (9)